MIB 编译器和加载 MIB |
您所在的位置:网站首页 › mib mem什么意思 › MIB 编译器和加载 MIB |
目录
简介
先决条件
要求
使用的组件
规则
常见MIB加载问题
加载顺序
数据类型定义不匹配
对象标识符重定义
内置数据类型的定义
备选大小
奇怪的对象标识符
陷阱定义
基于RFC 14xx的编译器与基于RFC 19xx的编译器
将MIBS加载并编译到第三方NMS中
从HP OpenView或IBM NetView的GUI
从HP OpenView或IBM NetView的命令行界面
相关信息
简介
大多数网络管理系统(NMS)为用户加载MIB提供了一种方法。加载MIB是NMS了解新MIB对象(如其名称、对象标识符(OID)和数据类型(例如,计数器)的一种方式。 MIB在加载时可能会被解析,或者稍后(例如,当NMS应用运行时)可能会进行解析。执行解析的软件是MIB编译器。 任何供应商的MIB编译器都应成功解析任何语法正确的MIB。遗憾的是,不同的MIB编译器可能会表现出不同的怪癖。 思科不断努力确保发布给客户的MIB在语法上正确。思科还避免了在常用NMS产品中证明存在问题的MIB构造。尽管做了这些努力,但无法满足该字段中所有MIB编译器的奇特要求。 本文档解决了一些常见问题,并提出了解决方法。如果您在供应商的MIB编译器中遇到上述任何问题(除RFC 14xx与RFC 19xx问题外),则是由于该MIB编译器存在缺陷。您可能希望敦促您的供应商或供应商修复其编译器。 先决条件 要求本文档的读者应熟悉MIB。 使用的组件本文档不限于特定的软件和硬件版本。 本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。 规则有关文件规则的更多信息请参见“ Cisco技术提示规则”。 常见MIB加载问题 加载顺序加载顺序是加载MIB时最重要且最常见的问题。许多MIB使用在其他MIB中定义的定义。这些定义列在MIB顶部的IMPORTS子句中。 例如,如果MIB混乱从MIB混乱导入定义,则某些MIB编译器要求您在加载MIB混乱之前加载MIB混乱。如果错误的加载顺序,编译器将声明导入的MIB未定义。 这是许多其他MIB导入的MIB列表,以及加载它们的顺序。这可能会处理95%的加载顺序问题(大多数其他MIB可以按任何顺序加载): SNMPv2-SMI.my SNMPv2-TC.my SNMPv2-MIB.my RFC1213-MIB.my IF-MIB.my CISCO-SMI.my CISCO-PRODUCTS-MIB.my CISCO-TC.my 注意:如果加载这些MIB的v1版本,则MIB文件名实际上将类似于IF-MIB-V1SMI.my(“ — V1SMI”),它会添加到已从v2转换为v1的MIB的名称中。 此例外是RFC1213-MIB.my MIB,它仅作为v1版本存在(即,没有RFC1213-MIB-V1SMI.my)。 如果尝试加载另一个MIB,并且编译器抱怨未定义的项目,则确定此MIB从哪个MIB导入,并验证您先加载了所有其他MIB。 注意:对于每个MIB,在SNMP对象导航器>查看和下载MIB中,可以看到在MIB之前需要加载的MIB的确切列表(具有确切的编译顺序);选择查看MIB依赖项并下载MIB。 数据类型定义不匹配虽然Cisco MIB数据类型定义不会不匹配,但您可能会发现某些标准RFC MIB的情况是这样。例如: MIB混乱定义:SomeDatatype ::= INTEGER(0.100) MIB组件定义:SomeDatatype ::= INTEGER(1..50) 此示例被视为轻微错误,MIB成功加载并显示警告消息。 下一个示例被视为非简单错误(即使两个定义本质上是等效的),并且MIB未成功解析。 MIB混乱定义:SomeDatatype ::= DisplayString MIB组件定义:SomeDatatype ::=八位组字符串(SIZE(0.255)) 如果MIB编译器将这些错误视为错误,或者如果您希望消除警告消息,请编辑定义此相同数据类型的MIB之一,以便定义匹配。 对象标识符重定义如果加载这些MIB,您可能会遇到OID重新定义(尽管可能存在发生此错误的其他实例): OLD-CISCO-CPU-MIB.my OLD-CISCO-ENV-MIB.my OLD-CISCO-MEMORY-MIB.my OLD-CISCO-SYSTEM-MIB.my 例如: OLD-CISCO-CPU-MIB.my定义:lcpu对象标识符::= { local 1 } OLD-CISCO-ENV-MIB.my定义:lenv对象标识符::= { local 1 } 加载这两个MIB时,MIB编译器可能会抱怨lcpu OBJECT IDENTIFIER正在用新名称lenv重定义。OLD-CISCO-MEMORY-MIB.my和OLD-CISCO-SYSTEM-MIB.my同样为{ local 1 }指定新名称。 这被视为轻微错误,MIB成功加载并显示警告消息。 如果MIB未成功加载,或者您希望消除警告消息,请编辑其中一个MIB,使所有MIB使用相同的名称。 内置数据类型的定义许多MIB编译器具有某些数据类型(如DisplayString)的内置知识。其中一些编译器在MIB中看到这些数据类型的定义时会抱怨。例如,DisplayString在SNMPv2-TC中定义。 解决方法是删除或注释掉MIB文件中的违规定义。 备选大小这是一个语法上有效的示例,它表示MyDatatype类型的值将是0、5或20个二进制八位数的长度: MyDatatype ::= OCTET STRING (SIZE(0 | 5 | 20))某些MIB编译器不接受此语法。通常,一个充分的解决方法是选择其中一个尺寸,然后删除其它尺寸。你应该保持最大尺寸。例如,上一个示例将更改为: MyDatatype ::= OCTET STRING (SIZE(20)) 奇怪的对象标识符某些OID被视为奇数,因为它们不引用SMI中的节点(与大多数OBJECT IDENTIFIER一样)。 但是,它们在语法上是有效的。常见示例是空对象标识符,例如{ 0 0 }。某些MIB编译器不关心与SMI中的节点不对应的OBJECT IDENTIFIER。以下是MIB语法示例,这些语法可能导致以下编译器出现问题: zeroDotZero OBJECT IDENTIFIER ::= { 0 0 } myMIBObject OBJECT-TYPE DEFVAL { {0 0} }解决方法是删除或注释掉MIB文件中的这些类型的引用。 陷阱定义在SNMPv1 MIB中,陷阱是使用TRAP-TYPE宏定义的。在SNMPv2 MIB中,陷阱是使用NOTIFICATION-TYPE宏定义的。 某些MIB编译器不喜欢它们解析的MIB文件中的这些定义(它们不支持这些宏)。 如果是这种情况,您可以删除陷阱定义或注释掉定义(例如,在行首放置MIB注释分隔符)。 基于RFC 14xx的编译器与基于RFC 19xx的编译器RFC 1442至1452定义基于参与方的SNMPv2。这些RFC被更新的标准草案RFC 1902至1908淘汰。 在MIB语法方面,这两个版本的SNMPv2之间几乎没有区别;不过,也有一些。Cisco MIB当前基于RFC 19xx规则。 注意:几年前,当Cisco MIB基于RFC 14xx时,一些基于RFC 19xx的编译器会抱怨CISCO-TC.my和PNNI-MIB.my MIB中的Unsigned32 :::= TEXTELIC-CONVENTION行。这是因为Unsigned32是RFC 19xx中的预定义数据类型。因此,思科过去有这些MIB(CISCO-TC-NO-U32.my和PNNI-MIB-NO-U32.my)的替代版本,没有Unsigned32的定义,可加载到已知此数据类型的编译器中。这不再适用。 将MIBS加载并编译到第三方NMS中将Cisco MIB、陷阱和图标加载到第三方NMS的最佳最有效方法是使用CiscoWorks集成实用程序(集成实用程序),该实用程序可作为CiscoWorks公共服务(或从http://www.cisco.com/cgi-bin/tablebuild.pl/cw2000-utility独立)的一部分提供,并具有来自http://www.cisco.com/tacpage/sw-center/cw2000/cmc3rd.shtml的相应集成实用程序适配器和最新的网络管理集成数据捆绑包(NMIDB)。 有关详细信息,请查看集成实用程序文档。 或者,您可以查阅有关MIB加载和编译的第三方NMS文档。本文档包括有关HP OpenView和IBM NetView的说明;但您仍应查阅HP或IBM文档,因为产品可能会发生变化。 从HP OpenView或IBM NetView的GUI按照以下步骤加载所需的Cisco MIB: 将文件复制到网络管理站的目录/usr/OV/snmp_mibs中。 这是HP OpenView和IBM NetView查找MIB文档的默认目录。如果将它们放在其他位置,请在loadmib图形界面中指定显式路径名。 设置权限,以便您对MIB具有读取访问权限。 从GUI菜单中,选择“选项”>“加载/卸载MIB”。 按照平台文档中的说明编译或加载Cisco MIB。 从HP OpenView或IBM NetView的命令行界面发出/opt/OV/bin/xnmloadmib -load filename命令,以加载MIB文件。 相关信息 技术支持和文档 - Cisco Systems |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |